home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
basic
/
madin201.zip
/
MADIN.SUB
next >
Wrap
Text File
|
1987-07-29
|
3KB
|
78 lines
SUB MADIN STATIC
SHARED ROW%,COL%,FLDSIZ%,FLDFG%,FLDBG%,CURSFG%,CURSBG%,CHRFG%,CHRBG%,FLDCHR%,CURCHR%,SYSFIL$,FILCHR$,SYSTYP%,SYSNUM,SYSALPHA$
SYSALPHA$=""
LOCATE ROW%,COL%
FOR X=1 TO FLDSIZ%
COLOR FLDFG%,FLDBG%
PRINT CHR$(FLDCHR%);
NEXT X
mi060:IF FLDSIZ%=LEN(SYSALPHA$) THEN GOTO mi110
LOCATE ROW%,COL%
COLOR CURSFG%,CURSBG%
PRINT CHR$(CURCHR%);
LOCATE ROW%,COL%
mi110:STROKE$=INKEY$
IF LEN(SYSALPHA$)<>FLDSIZ% THEN GOTO mi230
LOCATE ROW%,COL%-1
COLOR CHRFG%,CHRBG%
PRINT RIGHT$(SYSALPHA$,1);
FOR Y=1 TO 200:NEXT Y
LOCATE ROW%,COL%-1
COLOR CURSFG%,CURSBG%
PRINT CHR$(CURCHR%);
FOR Z=1 TO 200:NEXT Z
mi230:IF STROKE$ = "" THEN GOTO mi110
IF STROKE$ = CHR$(13) THEN GOTO mi390
IF STROKE$ = CHR$(8) AND LEN(SYSALPHA$)=0 THEN GOTO mi110
IF STROKE$ = CHR$(8) AND LEN(SYSALPHA$)=FLDSIZ% THEN LOCATE ROW%,COL%-1
IF STROKE$ = CHR$(8) THEN COLOR FLDFG%,FLDBG%::PRINT CHR$(FLDCHR%);:COL%=COL%-1:SYSALPHA$=LEFT$(SYSALPHA$,LEN(SYSALPHA$)-1):GOTO mi060
IF SYSTYP%=1 OR SYSTYP%=3 THEN GOTO mi310 'ALPHANUMERIC FIELD
IF SYSTYP%=2 THEN GOTO MI320 'NUMERIC FIELD
SYSTYP%=1 'DEFAULT TO ALPHA IF NOT SET TO 1 OR 2
mi310:IF STROKE$ < CHR$(32) OR STROKE$ > CHR$(126) THEN GOTO mi110 ELSE GOTO mi330
MI320:IF STROKE$ < CHR$(48) OR STROKE$ > CHR$(57) THEN GOTO mi110 ELSE GOTO mi330
mi330:IF FLDSIZ%=LEN(SYSALPHA$) THEN GOTO mi110
SYSALPHA$=SYSALPHA$+STROKE$
COLOR CHRFG%,CHRBG%
PRINT STROKE$;
COL%=COL%+1
GOTO mi060
mi390:IF LEN(SYSALPHA$)<>FLDSIZ% THEN LOCATE ROW%,COL%:COLOR FLDFG%,FLDBG%:PRINT CHR$(FLDCHR%);:GOTO mi430
LOCATE ROW%,COL%-1
COLOR CHRFG%,CHRBG%
PRINT RIGHT$(SYSALPHA$,1);
mi430:IF SYSTYP%=1 THEN GOTO mi470 'ALPHA RIGHT
IF SYSTYP%=2 THEN GOTO mi590 'NUMERIC
IF SYSTYP%=3 THEN GOTO mi530 'ALPHA LEFT
SYSTYP%=3:GOTO MI530 'DEFAULT TO ALPHA LEFT
mi470:FOR X=1 TO FLDSIZ%
LET SYSFIL$=SYSFIL$+FILCHR$
NEXT X
LET SYSFIL$=RIGHT$(SYSFIL$,FLDSIZ%)
LET SYSALPHA$=SYSFIL$+SYSALPHA$
LET SYSALPHA$=RIGHT$(SYSALPHA$,FLDSIZ%)
mi530:FOR X=1 TO FLDSIZ%
LET SYSFIL$=SYSFIL$+FILCHR$
NEXT X
LET SYSFIL$=RIGHT$(SYSFIL$,FLDSIZ%)
LET SYSALPHA$=SYSALPHA$+SYSFIL$
LET SYSALPHA$=LEFT$(SYSALPHA$,FLDSIZ%)
mi590:IF SYSTYP%=2 THEN SYSNUM=VAL(SYSALPHA$)
END SUB